An integrated circuit microcontroller can be used to generate the drive currents that power permanent-magnet, brushless DC motors. The drive currents are typically generated from a direct-current (DC) power supply that is switched and alternately inverted. One switching technique used to generate the drive currents uses pulse width modulation (PWM). For example, in an electric motor with three induction coils each separated by 120 degrees, PWM switching signals control the times and the durations at which six switches are opened and closed to produce the six pulsed signals that drive the motor. The process of turning the switches on and off to transfer drive current from one pair of induction coils to the next in a brushless DC motor is called electronic commutation. In a two-pole motor with three inductions coils, there are six commutation states for every revolution of the rotor. The PWM switching signals not only drive the motor, but also control the speed and torque of the motor. The speed and torque are controlled by varying the duty cycle of the PWM switching signals.
In order to determine how a permanent-magnet, brushless motor is operating, the position of the rotor relative to the stator is determined. The position of a pole of a rotor relative to the induction coils (also called phase windings) of the stator is typically determined in brushless motors by measuring the back electromotive force (back EMF) emanating from the phase winding through which drive current is not flowing. Back EMF is measured as a voltage. When the back EMF is equal to the motor neutral point voltage on the node between the three phase windings, the pole of the rotor is considered to have passed the zero crossing point associated with the phase winding from which the back EMF was measured. The time at which the back EMF equals the motor neutral point voltage is typically referred to as the time of zero crossing of the back EMF.
Various methods have been used to determine the zero crossing of the back EMF in brushless motors. One method uses a comparator to compare the back EMF to the motor neutral point voltage. One comparator for each of the three phase windings may be used, or one comparator and a multiplexer may also be used. When the back EMF of a phase winding passes the motor neutral point voltage and trips the comparator, the output of the comparator interrupts the processor. At that time, the processor determines whether the rotor has rotated too quickly or too slowly and adjusts the timing of the switching signals and the PWM duty cycle of the drive signals to compensate accordingly. At the time the comparator trips, the processor must stop the routine it was processing and service the interrupt. It is undesirable, however, for the processor to be interrupted during each commutation state while the motor is running.
Another method for determining the zero crossing point of the back EMF uses a digital signal processor (DSP) with an ultra-fast analog-to-digital converter (ADC) and an auto-sequencer. The back EMF is constantly subtracted from the neutral point voltage, and the DSP determines when the result is zero without interrupting the processor. Employing such a DSP, however, is expensive and uses considerable die area.
A method is sought for determining the zero crossing point of the back EMF in a brushless DC motor that requires neither interrupting the processor at the zero crossing point nor the use of an expensive DSP.